MIMO telecommunication system with accelerated sphere decoding

ABSTRACT

The invention concerns a method for estimating a plurality of symbols transmitted by a first plurality (M) of transmit antennas at a given emission time or a plurality of symbols subjected to a space-time dispersion coding prior to transmission by said first plurality (M) of transmit antennas over a second plurality (L) of transmission times, the method using the signals received by a third plurality (N) of receive antennas, each symbol belonging to a modulation constellation, and comprising the steps of:  
     forming a vector ({tilde over (y)}) representative of said received signals at a reception time or at a plurality (L) of consecutive reception times;  
     searching the closest neighbour of said vector among candidate vectors (z) belonging to a lattice of points generated by a plurality of generating vectors (v 1 , v 2 , . . . , v κ ), said lattice including a subset of points (Π) representative of any combination of said possible symbols, the search being limited to a volume around said vector and being carried out by sequentially selecting a coordinate (b i ) of a candidate vector for each dimension of said vector in a representation associated with said generating vectors.  
     According to the invention, the components of said vector are reordered according to an ordering rule (π) prior to said search, the ordering rule being chosen so as to eliminate a higher proportion of candidate vectors for a first dimension than for a subsequent dimension to be searched.

[0001] The present invention relates to a wireless telecommunicationsystem, and more particularly to a wireless telecommunication systemusing multiple antennas at a transmitter and multiple antennas at areceiver, also called multiple-input multiple-output (MIMO) system.

[0002] MIMO telecommunication systems are well known in the prior artfor their capability of achieving dramatically improved capacity ascompared to single antenna to single antenna or multiple antennas tosingle antenna systems.

[0003] The principle of a MIMO telecommunication system has beenillustrated in FIG. 1. The data stream D_(in) to be transmitted isencoded at the transmitter side by a vector encoder 110 and mapped intoa plurality of symbol substreams, each substream being dedicated to agiven antenna. The different substreams are RF modulated and amplifiedby the Tx units 120 ₁, 120 ₂ . . . , 120 _(M) before being transmittedby the antennas 130 ₁, 130 ₂, . . . , 130 _(M). At the receiver side, aplurality of antennas 140 ₁, 140 ₂, . . . , 140 _(N) receive thetransmitted signals and the received signals are RF demodulated intosymbols by the Rx units 150 ₁, 150 ₂ . . . , 150 _(N). The symbols thusobtained are processed by a detector 160 to produce a stream of receiveddata D_(out).

[0004] Various schemes have been proposed in the prior art for thevector encoder 110 and the detector 160. The basic idea underlying theseschemes is to exploit both the space diversity (due to the differentfading coefficients affecting the propagation between the transmit andreceive antennas) and time diversity. For this reason, the unit 110 isalso called a space-time encoder. For example, a space-time diversitytechnique has been proposed in an article of Tarokh et al. entitled“Space-time codes for high data rates wireless communications:performance criterion and code construction” published in IEEE Trans.Inform. Theory, vol. 44, pp 744-765, March 1998. This technique, namedSTTC (for Space-Time Trellis Coding) creates inter-relations betweentransmitted signals in the space domain (different transmit antennas)and the time domain (consecutive time symbols) according to a trellisstructure. The transition in the trellis are determined by the inputsymbols. The detector 160 is based on a Maximum Likelihood SequenceEstimation (MLSE), computing the lowest accumulated metric to determinethe most likely transmitted sequence. Another space-time diversitytechnique has been proposed by S. M. Alamouti et al. in an articleentitled “A simple transmit diversity technique for wirelesscommunications” published in IEEE J. Select. Areas. Comm., vol. 16, pp1451-1458, October 1998. According to this technique, called STBC (forSpace-Time Block Coding), a block of input symbols is mapped into a L×Mcoded matrix where L is a number of consecutive time slots and the Lvectors constituting said matrix are transmitted by the M transmitantennas.

[0005] More recently, it has been shown by O. Damen et al. in an articleentitled “Lattice code decoder for space-time codes” published in IEEECommunication Letters, vol. 4, n° 5, pp 161-163, May 2000, that thesignal received a MIMO telecommunication system can be represented as apoint of a lattice corrupted by noise and that, accordingly, a spheredecoder can be used at the receiver side for obtaining a ML estimationof the transmitted symbol vector. More precisely, the sphere decodingmethod has been proposed for both an uncoded MIMO system, i.e. a systemin which the substreams of symbols associated with the differenttransmit antennas are coded independently and for a MIMO system usingso-called algebraic space-time codes. An example of such codes can befound in the PhD. thesis of O. Damen entitled “Joint coding/decoding ina multiple access system—Application to mobile communications” ENST,Paris.

[0006] Let us consider a MIMO telecommunication system as represented inFIG. 1 and let us denote x(p)=(x₁(p), x₂(p), . . . , x_(M)(p)) andy(p)=(y₁(p), y₂(p), . . . , y_(N)(p)) respectively the vector of symbolstransmitted by the antennas and the vector of signals received by theantennas at a given time p. We suppose first that the MIMO system thesubstreams of symbols have been independently coded. We may write:$\begin{matrix}{{y_{n}(p)} = {{\sum\limits_{m = 1}^{M}{{h_{mn}(p)}{x_{m}(p)}}} + {\eta_{n}(p)}}} & (1)\end{matrix}$

[0007] where h_(mn)(p) is the fading coefficient for the propagationpath between transmit antenna m and receive antenna n at time p andη_(n)(p) is the noise sample affecting the received signal y_(n)(p). Ingeneral, the transmission is based on frames of length L and thecoefficients are supposed constant over a transmission frame but mayvary from frame to frame, e.g. the M×N transmission channels from the Mtransmit antennas to the N receive antennas are supposed to bequasi-static Rayleigh channels. The fading coefficients are supposed tobe known at the receiver, for example thanks to an estimation of pilotsymbols transmitted by the different transmit antennas. The noisesamples are supposed to be samples of independent complex Gaussianvariables with zero mean (AWGN noise) and variance σ².

[0008] It should be noted that the transmitted symbols does notnecessarily belong to the same modulation constellation.

[0009] The expression (1) can be rewritten by adopting a matrixformulation and omitting the time index p:

y=xH+η  (2)

[0010] where H is a M×N matrix defined by H=(h_(mn)), m=1, . . . , M;n=1, . . . , N.

[0011] The complex components of the vectors x, y and q in equation (2)can respectively be expressed as x_(m)=x_(m) ^(R)+jx_(m) ^(I),y_(m)=y_(m) ^(R)+jy_(m) ^(I), η_(m)=η_(m) ^(R)+jη_(m) ^(I). Similarlythe complex coefficients h_(mn) of the matrix H can be expressed ash_(mn) = h_(mn)^(R) + j  h_(mn)^(I)

[0012] where h_(mn)^(R)  and  h_(mn)^(I)

[0013] are real.

[0014] Denoting x′=(x₁ ^(R),x₁ ^(I), . . . , x_(M) ^(R), x_(M) ^(I)),y′=(y₁ ^(R), y₁ ^(I), . . . , y_(N) ^(R), y_(N) ^(I)), η′=(η₁ ^(R), η₁^(I), . . . , η_(N) ^(R), η_(N) ^(I)) and${{{and}\quad H^{\prime}} = \begin{bmatrix}h_{11}^{R} & h_{11}^{I} & \cdots & h_{1N}^{R} & h_{1N}^{I} \\{- h_{11}^{I}} & h_{11}^{R} & \cdots & {- h_{1N}^{I}} & h_{1N}^{R} \\\vdots & \vdots & \quad & \vdots & \vdots \\h_{M1}^{R} & h_{M1}^{I} & \cdots & h_{MN}^{R} & R_{MN}^{I} \\{- h_{M1}^{I}} & h_{M1}^{R} & \cdots & {- R_{MN}^{I}} & R_{MN}^{R}\end{bmatrix}},$

[0015] we can rewrite the expression (2) as:

y′=x′H′+η′  (3)

[0016] where y′ and η′ are 1×2N real vectors, x′ is a 1×2M real vectorand H′ is a 2M×2N real matrix. Without loss of generality, it will besupposed in the sequel that the real and imaginary components x_(m) ^(R)and x_(m) ^(I) of each transmitted symbol x_(m) are PAM modulated, i.e.:

x _(m) ^(R)∈{−M_(2m−1)+1,−M_(2m−1)+3, . . . , M_(2m−1)−3,M_(2m−1)−1} and  (4)

x_(m) ^(I)∈{−M_(2m)+1, −M_(2m)+3, . . . , M_(2m)−3, M_(2m)−1}  (5)

[0017] where M_(2m−1) and M_(2m) are the modulation orders for x_(m)^(R) and x_(m) ^(I) respectively. For example if x_(m) is a 16-QAMmodulated symbol M_(2m−1)=M_(2m)=4.

[0018] The following results can be extended to the case where thetransmitted symbols are PSK modulated, as shown in the article ofHochwald et al. entitled “Achieving near-capacity on a multiple antennachannel” available on the website mars.bell-labs.com.

[0019] If the following affine transformation is effected:${{\overset{\sim}{x}}_{m}^{R} = {{\frac{1}{2}( {x_{m}^{R} + M_{{2m} - 1} - 1} )\quad {and}\quad {\overset{\sim}{\quad x}}_{m}^{I}} = {\frac{1}{2}( {x_{m}^{I} + M_{2m} - 1} )}}}\quad$

[0020] or again vectorially: $\begin{matrix}{\overset{\sim}{x} = {\frac{1}{2}( {x^{\prime} + \mu} )}} & (6)\end{matrix}$

[0021] where {tilde over (x)}=({tilde over (x)}₁ ^(R),{tilde over (x)}₁^(I), . . . , {tilde over (x)}_(M) ^(R), {tilde over (x)}_(M) ^(I)) andμ=(M₁−1, M₂−1, . . . , M_(2M)−1). The components of {tilde over (x)} areelements of Z and consequently {tilde over (x)} is a vector of Z^(2M).

[0022] In general terms, there exists an affine transform transformingthe components x_(m) ^(R) and x_(m) ^(I) into elements of Z and thevector {tilde over (x)} can consequently be represented as a vector ofZ^(2M).

[0023] In a similar manner, the corresponding transform is effected ony′ as defined in (3), that is to say: $\begin{matrix}{\overset{\sim}{y} = {\frac{1}{2}( {y^{\prime} + {\mu \quad H^{\prime}}} )}} & (7)\end{matrix}$

[0024] The vector {tilde over (y)} in equation (7) can therefore beexpressed as:

{tilde over (y)}={tilde over (x)}H′+η/2   (8)

[0025] We suppose that M≦N (i.e. the number of receive antennas islarger than the number of transmit antennas) and rank(H′)=2M, which isthe case in practice if the fading coefficients are decorrelated. Thefollowing results can however be extended to the case where M>N as shownin the article of O. Damen et al. entitled “A generalized sphere decoderfor asymmnetrical space-time communication architecture” published inElec. Letters, vol. 36, pp. 166-168, January 2000. Indeed, in suchinstance, an exhaustive search can be effected for M−N symbols among theM transmitted symbols, the remaining N symbols being searched by thesphere decoding method as described further below.

[0026] The vector {tilde over (y)} can be regarded as a point of alattice A of dimension 2M in R^(2N) and of generator matrix H′,corrupted by a noise η′/2. Indeed, a lattice Λ of dimension κ in avectorial space of dimension K is defined by any set of vectors v ofR^(κ) satisfying:

v=b ₁ v ₁ +b ₂ v ₂ + . . . +b _(κ) v _(κ)  (9)

[0027] where {v₁, v₂, . . . , v_(κ)} are linearly independent vectors ofR^(K) and b=(b₁, . . . , b_(κ))∈Z^(κ).

[0028] The vectors v₁, v₂, . . . , v_(κ) form the rows of the so-calledgenerator matrix G of the lattice., and are therefore called thegenerating vectors of said the lattice. It is therefore possible towrite:

v=bG   (10)

[0029] Such a lattice has been represented in FIG. 2A in the simple caseκ=2. In general, the dimension of the lattice Λ generated by G=H′ isκ=2M in a space of dimension K=2N.

[0030] The set of transmitted symbols can be represented by an alphabetof finite size Π⊂Z^(2M) hereinafter referred to as a productconstellation. This product constellation is determined by themodulation constellations used for modulating the M symbol substreamsand the cardinal of the alphabet Π is equal to the product of thecardinals of the different modulation alphabets. The productconstellation Π corresponds to a subset of the lattice Λ.

[0031] An exhaustive maximum likelihood decoding would require a searchfor the closest neighbour throughout the product constellation Π, i.e.would require to search for z∈Π so that the distance ∥z-{tilde over(y)}∥ is minimum (in the representation of FIG. 2A).

[0032] The sphere decoding method calculates the distances to the pointswhich are situated within an area of the lattice situated around thereceived point, preferably inside a sphere S of given radius {squareroot}{square root over (C)} centered on the received point as depictedin FIG. 2A. Only the points in the lattice situated at a quadraticdistance less than C from the received point are therefore consideredfor the minimization of the metric.

[0033] In practice, the decoder effects the following minimization:$\begin{matrix}{{\min\limits_{z\quad \varepsilon \quad \Lambda}{{z - \overset{\sim}{y}}}} = {\min\limits_{{w\quad \varepsilon \quad \overset{\sim}{y}} - \Lambda}{w}}} & (11)\end{matrix}$

[0034] To do this, the smallest vector w in the translated set {tildeover (y)}−Λ is sought. If we denote ρ={tilde over (y)}H′

and ξ=wH′

where H′

is the pseudo-inverse (also called the Moore-Penrose inverse) of thematrix H′, the vectors {tilde over (y)} and w can be expressed as:

{tilde over (y)}=ρH′ with ρ=(ρ₁, . . . , ρ_(2M)) w=ξH′ with ξ=(ξ₁, . . ., ξ_(2M))   (12)

[0035] It is important to note that ρ and ξ are both real vectors.According to expression (8) the vector ρ can be regarded as the ZFestimation of the vector {tilde over (x)}. As w={tilde over (y)}−z,where z=bH′, belongs to the lattice Λ, we have ξ_(i)=ρ_(i)−b_(i) fori=1, . . . , 2M with$w = {\sum\limits_{i = 1}^{2M}\quad {\xi_{i}{v_{i}.}}}$

[0036] The vector w is a point in the lattice whose coordinates ξ_(i)are expressed in the translated reference frame centered on the receivedpoint {tilde over (y)}. The vector w belongs to a sphere of quadraticradius C centered at 0 if and only if:

∥w∥ ² =Q(ξ)=ξH′H′^(T)ξ^(T) ≦C   (13)

[0037] In the new system of coordinates defined by ρ, b and ξ the sphereof quadratic radius C centered at {tilde over (y)} is thereforetransformed into an ellipsoid E and the lattice Λ is represented aselements of Z^(2M). This representation is illustrated in FIG. 2B. Itshould be understood that it is equivalent to the one illustrated inFIG. 2A.

[0038] The Cholesky factorization of the Gram matrix Γ=H′H′^(T) givesΓ=ΔΔ^(T), where Δ is an inferior triangular matrix of elements δ_(ij).The expression (13) can be rewritten: $\begin{matrix}{{Q(\xi)} = {{\xi \quad \Delta \quad \Delta^{T}\xi^{T}} = {{{\Delta^{T}\xi^{T}}}^{2} = {{\sum\limits_{i = 1}^{2M}( {{\delta_{ii}\xi_{i}} + {\sum\limits_{j = {i + 1}}^{2M}{\delta_{j\quad i}\quad \xi_{i}}}} )^{2}} \leq C}}}} & (14)\end{matrix}$

[0039] By putting: $\begin{matrix}{{{q_{ii} = {{\delta_{ii}^{2}\quad {for}\quad i} = 1}},\ldots \quad,{2M}}{{q_{ij} = {{\frac{\delta_{ij}}{\delta_{jj}}\quad {for}\quad j} = 1}},\ldots \quad,{{2M};\quad {i = {j + 1}}},\ldots \quad,{2M}}} & (15)\end{matrix}$

[0040] there is obtained: $\begin{matrix}{{Q(\xi)} = {\sum\limits_{i = 1}^{2M}\quad {q_{ii}( {\xi_{i} + {\sum\limits_{j = {i + 1}}^{2M}{q_{ji}\xi_{j}}}} )}^{2}}} & (16)\end{matrix}$

[0041] Being concerned first of all with the range of possiblevariations of ξ_(2M), and then adding the components one by one bydecreasing index order, the following 2M inequalities are obtained,which define all the points within the ellipsoid: $\begin{matrix}{{{q_{{2M},{2M}}\xi_{2M}^{2}} \leq C}{{{q_{{{2M} - 1},{{2M} - 1}}( {\xi_{{2M} - 1} + {q_{{2M},{{2M} - 1}}\xi_{2M}}} )}^{2} + {q_{{2M},{2M}}\xi_{2M}^{2}}} \leq C}{{\forall{l \in \{ {1,\ldots \quad,{2M}} \}}},{{\sum\limits_{i = l}^{2M}{q_{ii}( {\xi_{i} + {\sum\limits_{j = {i + 1}}^{2M}{q_{ji}\xi_{j}}}} )}^{2}} \leq C}}} & (17)\end{matrix}$

[0042] It can be shown that the inequalities (17) make it necessary andsufficient for the integer components of b to satisfy: $\begin{matrix}{{{\lceil {{- \sqrt{\frac{C}{q_{{2M},{2M}}}}} + \rho_{2M}} \rceil \leq b_{2M} \leq {\lfloor {\sqrt{\frac{C}{q_{{2M},{2M}}}} + \rho_{2M}} \rfloor \lceil {{- \sqrt{\frac{C - {q_{{2M},{2M}}\xi_{2M}^{2}}}{q_{{{2M} - 1},{{2M} - 1}}}}} + \rho_{{2M} - 1} + {q_{{2M},{{2M} - 1}}\xi_{2M}}} \rceil} \leq b_{{2M} - 1} \leq {\lfloor {{- \sqrt{\frac{C - {q_{{2M},{2M}}\xi_{2M}^{2}}}{q_{{{2M} - 1},{{2M} - 1}}}}} + \rho_{{2M} - 1} + {q_{{2M},{{2M} - 1}}\xi_{2M}}} \rfloor \lceil {{- \sqrt{\frac{1}{q_{ii}}( {C - {\sum\limits_{l = {i + 1}}^{2M}{q_{ll}( {\xi_{l} + {\sum\limits_{j = {l + 1}}^{2M}{q_{jl}\xi_{j}}}} )}^{2}}} )}} + \rho_{i} + {\sum\limits_{j = {i + 1}}^{2M}{q_{ji}\xi_{j}}}} \rceil} \leq b_{i}}\quad \quad {b_{i} \leq \lfloor {\sqrt{\frac{1}{q_{ii}}( {C - {\sum\limits_{l = {i + 1}}^{2M}{q_{ll}( {\xi_{l} + {\sum\limits_{j = {l + 1}}^{2M}{q_{jl}\xi_{j}}}} )}^{2}}} )} + \rho_{i} + {\sum\limits_{j = {i + 1}}^{2M}{q_{ji}\xi_{j}}}} \rfloor}}\quad} & (18)\end{matrix}$

[0043] where ┌x┐ is the smallest integer greater than the real number xand └x┘ is the largest integer smaller than the real number x .

[0044] In practice 2M internal counters are used, namely one counter perdimension, each counter counting between a lower and an upper bound asindicated in (18), given that each counter is associated with aparticular pair of bounds. In practice these bounds can be updatedrecursively. We put: $\begin{matrix}{S_{i} = {{S_{i}( {\xi_{i + 1},\ldots \quad,\xi_{2M}} )} = {\rho_{i} + {\sum\limits_{j = {i + 1}}^{2M}{q_{ji}\xi_{j}}}}}} & (19) \\{T_{i - 1} = {{T_{i - 1}( {\xi_{i},\ldots \quad,\xi_{2M}} )} = {{C - {\sum\limits_{l = i}^{2M}{q_{ll}( {\xi_{l} + {\sum\limits_{j = {l + 1}}^{2M}{q_{jl}\xi_{j}}}} )}^{2}}} = {T_{i} - {q_{ii}( {\xi_{i} + S_{i} - \rho_{i}} )}^{2}}}}} & (20)\end{matrix}$

 T _(i−1) =T _(i) −q _(ii)(S_(i) −b _(i))²   (21)

[0045] with T_(2M)=C.

[0046] Using equations (19) to (21), the range of variation of eachcomponent b_(i) is determined recursively, commencing with the componentb_(2M):

L_(i) ⁻≦b_(i)<L_(i) ⁺  (22)

[0047] with $\begin{matrix}{L_{i}^{-} = {{\lceil {{- \sqrt{\frac{T_{i}}{q_{il}}}} + S_{i}} \rceil \quad {and}\quad L_{i}^{+}} = \lfloor {\sqrt{\frac{T_{i}}{q_{ii}}} + S_{i}} \rfloor}} & (23)\end{matrix}$

[0048] For each candidate vector b (in the representation of FIG. 2B),it is checked whether b∈Π. Once the closest vector b is found, theestimates of the real and imaginary parts the transmitted symbols aresimply obtained from (6):

{circumflex over (x)}′=2b−μ  (24)

[0049] As described above, in relation with expressions (18) to (23),the sphere decoding process necessitates to go through every latticepoint included in the ellipsoid defined by (17) and to compute for eachof them the norm ∥w∥. This scanning algorithm is very time consuming, inparticular for a large number of transmit antennas M.

[0050] In order to speed up the sphere decoding process it has alreadybeen proposed to update the radius {square root}{square root over (C)}with the lowest computed norm ∥w∥, thereby scaling down the ellipsoideach time a lower norm is found. Each resealing implies however thecomputation of new bounds L_(i) ⁻ and L_(i) ⁺ and is followed by a newsearch between the updated bounds. It is therefore desirable to reducethe complexity of a sphere decoding method in a receiver of a MIMOtelecommunication system for obtaining an estimation of the transmittedsymbols.

[0051]FIG. 3A illustrates schematically an example of a space-timeencoder 110, as disclosed in the article of B. Hassibi et al. in thearticle entitled “High-rate codes that are linear in space and time”available on the website mars.bell-labs.com.

[0052] The input data stream D_(in) input to the space-time encoder ismultiplexed by a multiplexer 111 in a plurality Q of bit substreamswhich are respectively mapped by the symbol mappers 112 ₁, . . . , 112_(Q) into Q symbol substreams. A space-time dispersion symbol encoder113, the function of which is hereinafter described, transforms a blockof Q uncoded symbols, denoted x₁ ^(u), . . . , x_(Q) ^(u) into a frameof L consecutive vectors (x₁(1), . . . , x_(M)(1) ), (x₁(2), . . . ,x_(M)(2)), . . . , (x₁(L), . . . , x_(M)(L)), each vector beingtransmitted by the M transmit antennas 130 ₁, 130 ₂, . . . , 130 _(M).In general, the symbols x₁(p), . . . , x_(M)(p) transmitted at a giventime p=1, . . . , L are not independent. More precisely, each uncodedsymbol x_(q) ^(u) is coded in 113 by two L×M spatio-temporal dispersionmatrices A_(q) and B_(q) as a combination x_(q) ^(u).A_(q)+x_(q)^(u)*B_(q) (where .* denotes the conjugate) and the block of symbols x₁^(u), . . . , x_(Q) ^(u) is coded as the sum: $\begin{matrix}{X = {\sum\limits_{q = 1}^{Q}\quad ( {{x_{q}^{u}.A_{q}} + {x_{q}^{u^{*}}B_{q}}} )}} & (25)\end{matrix}$

[0053] where the rows of the matrix X are the vectors of the transmittedsymbols at the different times p=1, . . . , L.

[0054]FIG. 3B illustrates schematically the structure of the detector160 when the space-time encoder of FIG. 3A is used. A symbol decoder 161inputs the L consecutive vectors (y₁(1), . . . , y_(N)(1)), (y₁(2), . .. , y_(N)(2)), . . . , (y₁(L), . . . , y_(N)(L)) each vector beingrelative to a reception time p=1, . . . , L and constituted of thesignals received by the N receive antennas 140 ₁, 140 ₂, . . , 140 _(N)at that time.

[0055] The L consecutive vectors can be represented as rows of a L×Nmatrix Y. We have:

Y=XH+Ξ  (26)

[0056] where Ξ is a L×N matrix the rows of which represent the complexnoise samples affecting the received symbols for the L consecutivetimeslots.

[0057] In practice, for a given number N of transmit antennas, the blocksize Q and the frame length L are chosen such that Q≦L.N in order toavoid that the linear system (26) be undetermined in x₁ ^(u), . . . ,x_(Q) ^(u). It should also be noted that if Q<L.M, some redundancy isintroduced at the symbol coding level by the symbol encoder 113.

[0058] It can be shown that the expression (26) can equivalently bereformulated as follows:

y′ _(L) x ^(u)′H′_(L)+η′_(L)   (27)

[0059] where y′_(L) is the 1×2LN vector obtained by concatenating the Lconsecutive vectors y′(p)=(y₁ ^(R)(p), y₁ ^(I)(p), . . . , y_(N)^(R)(p), y_(N) ^(I)(p)), p=1, . . . , L; η′_(L) is the 1×2LN vectorobtained by concatenating the L consecutive vectors η′(p)=(η₁ ^(K)(p),η₁ ^(I)(p), . . . , η_(N) ^(R)(p), η_(N) ^(I)(p)) p=1, . . . , L; x^(u)′is the 1×2Q vector (x₁^(uR), x₁^(ul)  …  , x_(Q)^(uR), x_(Q)^(ul),)

[0060] where x_(q)^(u) = x_(q)^(uR) + j  x_(q)^(ul)

[0061] and H′_(L) is a 2Q×2LN matrix of real coefficients obtained fromthe (real and imaginary parts of the) matrix H of the fadingcoefficients and the (real and imaginary parts of the) dispersionmatrices A_(q) and B_(q), q=1, . . . , Q. If Q≦L.N and the dispersionmatrices are properly chosen, the matrix is not degenerate.

[0062] The expression (27) is similar to (3), though it involves highervector and matrix dimensions: the number (N) of receive antennas ismultiplied by the number (L) of timeslots and the number (M) of transmitantennas is replaced by the block size (Q) of the uncoded symbols. Theproduct constellation Π is generated by the constellation modulationsused for mapping the different symbols of the block.

[0063] The symbol decoder 161 may therefore carry out a sphere decodingmethod as set out above, the lattice being here generated by thegenerator matrix H′_(L) instead of the matrix H′, and therefore has adimension κ=2Q in a space of dimension K=2LN. The sphere decodingalgorithm provides a vector {circumflex over (x)}^(u)′ (from anexpression similar to (24)) which gives the estimatesx̂₁^(uR), x̂₁^(ul)  …  , x̂_(Q)^(uR), x̂_(Q)^(ul),

[0064] i.e. the complex estimates {circumflex over (x)}_(q) ^(u) of theuncoded symbols x_(q) ^(u). The Q estimates are demapped by thedemappers 162 ₁, . . . , 162 _(Q) and the binary substreams thusgenerated are demultiplexed by a demultiplexer 163 to produce a streamof received data D_(out).

[0065] It should be noted that when a space-time dispersion symbolencoder is used, the sphere decoding method enables the detection of thesymbols x_(q) ^(u) input to the encoder and not of the symbols x_(m) astransmitted.

[0066] If the block size Q is large, scanning the candidate latticepoints within the ellipsoid, along each of the 2Q dimensions of thelattice (M is to be replaced by Q in the expressions (18)) may be verytime consuming.

[0067] It is therefore an aim of the present invention to propose ameasure to significantly reduce the complexity of a sphere decodingmethod in the receiver of a MIMO telecommunication system, in particularif a space-time dispersion symbol coder is used at the transmitter.

[0068] To this end, the invention is defined by the estimating methodclaimed in appended claim 1. Advantageous variants of the invention aredefined in the dependent claims.

[0069] The characteristics of the invention mentioned above, as well asothers, will emerge more clearly from a reading of the followingdescription given in relation to the accompanying figures, amongstwhich:

[0070]FIG. 1 represents schematically the structure of a transmitter anda receiver in a MIMO telecommunication system;

[0071]FIG. 2A is a first representation of a bidimensional lattice ofpoints as used in a sphere decoding method;

[0072]FIG. 2B is a second representation of a bidimensional lattice ofpoints as used in a sphere decoding method;

[0073]FIG. 3A represents schematically the structure of a space-timeencoder for use in the transmitter of FIG. 1;

[0074]FIG. 3B represents schematically the structure of a detector foruse in the receiver of FIG. 1;

[0075]FIG. 4 depicts schematically an example of sphere decoding methodtaking into account the product constellation;

[0076]FIG. 5 illustrates the projection of the product constellation andthe received point onto the hyperplane defined by the first twodimensions used in sphere decoding;

[0077]FIG. 6A gives the search tree of a sphere decoding methodaccording to the prior art;

[0078]FIG. 6B gives the search tree of a sphere decoding methodaccording to the invention.

[0079] We consider again a MIMO telecommunication system using a spheredecoding method at the receiver side. The invention concerns a measurefor accelerating the sphere decoding method which can be applied eitherfor estimating the symbols (x₁, . . . , x_(M)) transmitted by thetransmit antennas, if these symbols are independently coded (firstembodiment), or for estimating the symbols (x₁ ^(u), . . . , x_(Q) ^(u))at the input of a space-time dispersion symbol encoder (secondembodiment).

[0080] Considering the first embodiment and the lattice Λ generated bythe matrix H′, the dimensions 2m−1 and 2m of the lattice bearrespectively the real part and the imaginary part of the complex symboltransmitted by the antenna m. The dimensions 2m−1 and 2m of the latticeA have been represented in FIG. 4 (according to the type ofrepresentation of FIG. 2B).

[0081] The product constellation Π, or equivalently the modulationconstellation associated with the symbols transmitted by the antenna m,is projected onto the dimension 2m of the lattice. This projectiondefines an interval [M_(2m)⁻, M_(2m)⁺].

[0082] The bounds L_(2m)⁻  and  L_(2m)⁺

[0083] having been determined in accordance with expressions (19) to(23), a search interval [B_(2m)⁻, B_(2m)⁺]

[0084] along the m^(in) dimension is defined by: $\begin{matrix}{B_{2m}^{-} = {{{\max ( {L_{2m}^{-},M_{2m}^{-}} )}\quad {and}\quad B_{2m}^{+}} = {\min ( {L_{2m}^{+},M_{2m}^{+}} )}}} & (28)\end{matrix}$

[0085] Once a value b_(2m) has been chosen in the search interval[B_(2m)⁻, B_(2m)⁺],

[0086] the bounds L_(2m − 1)⁻  and  L_(2m − 1)⁺

[0087] are determined and a new search interval[B_(2k − 1)⁻, B_(2k − 1)⁺]

[0088] along the dimension 2m−1 is defined by: $\begin{matrix}{B_{{2m} - 1}^{-} = {{{\max ( {L_{{2m} - 1}^{-},M_{{2m} - 1}^{-}} )}\quad {and}\quad B_{{2m} - 1}^{+}} = {\min ( {L_{{2m} - 1}^{+},M_{{2m} - 1}^{+}} )}}} & (29)\end{matrix}$

[0089] where [M_(2m − 1)⁻, M_(2m − 1)⁺]

[0090] is the projection of the product constellation (or equivalentlyof modulation constellation associated with the symbols transmitted bythe antenna m) onto the dimension 2m−1.

[0091] The points of the lattice located within the ellipsoid arerepresented in FIG. 4 by grey circles if they belong to the productconstellation Π whereas they are represented by grey crosses if they arelocated outside the product constellation.

[0092] The sphere decoding method proceeds sequentially from a dimensionto the preceding one. By varying for a given dimension each componentb_(i) where i∈{1, . . . , 2M} inside an interval [B_(i) ⁻, B_(i) ⁺]instead of [L_(i) ⁻, L_(i) ⁺], it is ensured that the closest neighbouris sought only amongst candidates which are both located within theellipsoid and belonging to the product constellation.

[0093] The idea underlying the invention in that the order according towhich the dimensions of the lattice are treated strongly influence thecomplexity of the search. As it appears from (18), the search startswith the dimension of highest order (2M in the present embodiment)corresponding to the last row of the generator matrix H′ and proceedssequentially with dimensions of lower order.

[0094] Let us consider the first two dimensions searched, 2M and 2M−1,for a given product constellation, as illustrated in FIG. 5.

[0095] The points belonging to the product constellation are representedby circles, coloured in grey if they are located in the ellipsoid andcoloured in black otherwise. Grey crosses indicate the lattice pointslocated in the ellipsoid but not belonging to the constellation. Theprojection of ρ representing the received signal (ρ={tilde over (y)}H′

) onto the hyperplane defined by the dimensions 2M and 2M−1 ischaracterised by its real coordinates ρ_(2M) and ρ_(2M−1).

[0096] The symbols transmitted by the transmit antenna m are supposed16-QAM. The projection of the product constellation (or the associatedmodulation constellation) onto the dimension 2M or 2M−1 correspondstherefore to the interval [0,3].

[0097] A search tree using conventional sphere decoding has beenrepresented in FIG. 6A where each level of the tree corresponds to adimension of the lattice, the lowest level being associated with thedimension of highest order (2M). Although the first two levels(corresponding to the dimensions 2M and 2M−1 of FIG. 5) are represented,it should be understood that the search tree comprises 2M levels. Thehorizontal extension of each node of the tree indicates the interval[L_(i) ⁻, L_(i) ⁺], the sub-interval [B_(i) ⁻, B_(i) ⁺] of which isrepresented by white boxes while the rest is represented by grey boxes.

[0098] The search starts with the determination of [B_(2m)⁻, B_(2m)⁺].

[0099] From FIG. 5, it appears that[L_(2M)⁻, L_(2M)⁺] = [0, 3]  and  [M_(2M)⁻, M_(2M)⁺] = [0, 3],

[0100] hence [B_(2M)⁻, B_(2M)⁺] = [0, 3]

[0101] which means that b_(2M) can take four possible values:

[0102] If b_(2M)=0,[B_(2M − 1)⁻, B_(2M − 1)⁺] = [L_(2M − 1)⁻, L_(2M − 1)⁺]⋂[M_(2M − 1)⁻, M_(2M − 1)⁺] = {5}⋂[0, 3] = ⌀,

[0103] hence no candidate value of b_(2M−1) is to be considered and thenode is therefore a dead leaf.

[0104] If b_(2M)=1,[B_(2M − 1)⁻, B_(2M − 1)⁺] = [L_(2M − 1)⁻, L_(2M − 1)⁺]⋂[M_(2M − 1)⁻, M_(2M − 1)⁺] = {4, 5}⋂[0, 3] = ⌀,

[0105] hence this node is also a dead leaf.

[0106] If b_(2M)=2,[B_(2M − 1)⁻, B_(2M − 1)⁺] = [L_(2M − 1)⁻, L_(2M − 1)⁺]⋂[M_(2M − 1)⁻, M_(2M − 1)⁺] = {3, 5}⋂[0, 3] = {3},

[0107] hence b_(2M−1)=3 is the single candidate value to be considered.Only one branch starts from this node to the subsequent level 2M−2.

[0108] If b_(2M)=3,[B_(2M − 1)⁻, B_(2M − 1)⁺] = [L_(2M − 1)⁻, L_(2M − 1)⁺]⋂[M_(2M − 1)⁻, M_(2M − 1)⁺] = {3, 4}⋂[0, 3] = {3},

[0109] hence b_(2M−1)=3 is again the single candidate value to beconsidered. Only one branch starts from this node to the level 2M−2.

[0110] We define the passing rate σ_(i) of a node of the search tree bythe ratio: $\begin{matrix}{\sigma_{i} = \frac{{B_{i}^{+} - B_{i}^{-}}}{{L_{i}^{+} - L_{i}^{-}}}} & (28)\end{matrix}$

[0111] The passing rate of a node is a measure of the filtering effectinduced by the restriction of the search to the interval [B_(i) ⁻, B_(i)⁺]. If the passing rate is low, the filtering effect is high and,conversely, if the passing rate is high, the filtering effect is low.

[0112] The passing rate of a given dimension or, equivalently of a levelof the tree, is defined as the average passing rate of the nodesbelonging to that level.

[0113] As it can be seen from FIG. 6A, the search tree is poorlyselective at its root (4 candidates retained for b_(2M) out of four)while the nodes at a higher level are significantly more selective (atmost 1 candidate retained out of three for b_(2M−1)). It should be notedthat the passing rate of a node can be obtained as the ratio of whiteboxes to the total number of boxes of said node.

[0114] Such a tree is ill-conditioned for the search because a lot ofbranches finally ending to dead leaves (i.e. associated with a voidinterval [B_(i) ⁻, B_(i) ⁺]) are explored in vain, the calculation ofthe bounds made at the intermediate nodes along the branch provinguseless in the end.

[0115] According to the invention, it is proposed to reorder the vectorsof the lattice, i.e. the rows of the generator matrix H′, so that theroot and low level nodes of the search tree correspond to low passingrates (i.e. high selectivity). This enables to discard at an early stagelarge parts of the ellipsoid which do not intersect the constellation.The reordering of the vectors of the lattice implies the same reorderingof the components of the vectors ρ and b.

[0116] According to a first variant, the rows of the generator matrix orthe dimensions are ordered according to values representing the distanceof the projected centre of the ellipsoid, normalized to the size of theprojected constellation. More specifically for each row or dimension i,it is calculated: $\begin{matrix}{ɛ_{i} = \frac{2 \cdot \delta_{i}}{{M_{i}^{+} - M_{i}^{-}}}} & (29)\end{matrix}$

[0117] where$\delta_{i} = { {\rho_{i} - {\frac{1}{2}( {M_{i}^{-} + M_{i}^{+}} )}} |}$

[0118] denotes the distance of the centre of the ellipsoid, projectedonto dimension i, to the middle of the projected constellation.

[0119] In practice, the man skilled in the art will understand that anyexpression reflecting the said normalized distance could be used insteadof expression (29).

[0120] The value ε_(i) represents the eccentricity of the projection ofthe constellation centre relatively to the projected constellation. Thehigher the eccentricity, the more likely the interval [L_(i) ⁻, L_(i) ⁺]and [M_(i) ⁻, M_(i) ⁺] will little overlap and the interval [B_(i) ⁻,B_(i) ⁺] will be smaller than [L_(i) ⁻, L_(i) ⁺].

[0121] The first variant makes use of a first ordering rule. Accordingto this rule, the rows are ordered by increasing values of ε_(i), namelythe larger the normalized distance (or, equivalently the higher theeccentricity), the higher the order of the row. By so doing, the lowlevels in the search tree correspond to dimensions for which theprojection of the ellipsoid centre lies far outside the projection ofthe constellation. The dimensions exhibiting low passing rates aretherefore concentrated at the low levels of the tree, thus enabling toearly discard lattice points. By applying the first reordering rule, thesearch of the candidate points belonging to the intersection of theellipsoid with the constellation is significantly accelerated.

[0122] According to a second variant, directed to the case where theconstellation has the same size along each and every dimension (forexample if all the transmitted symbols belong to the same modulationconstellation) the following ordering rules are used:

[0123] The second variant may use a second ordering rule. According tothis rule the last rows of the generator matrix H′ are chosen so thatthey correspond to the dimensions i where ρ_(i)<M_(i) ⁻ or ρ_(i)>M_(i)⁺. Denoting δ′_(i) the distance between ρ_(i) and M_(i) ⁻ (ifρ_(i)<M_(i) ⁻) or between ρ_(i) and M_(i) ⁺ (if ρ_(i)>M_(i) ⁺), theserows are ordered by increasing values of δ′_(i), namely the higher thedistance, the higher the order of the row. The search begins withdimensions exhibiting comparatively high distance values. The low levelsof the search tree correspond therefore to dimensions for which theprojection of the ellipsoid centre lies far outside the projection ofthe constellation. Consequently, the dimensions exhibiting low passingrates are concentrated at the low levels of the tree.

[0124] The second variant may use a third ordering rule. According tothis rule, the first rows of the generator matrix H′ are chosen so thatthey correspond to the dimensions i where M_(i) ⁻≦ρ_(i)≦M_(i) ⁺.

[0125] These rows are ordered by increasing values of δ_(i) as definedabove, namely the higher the distance the higher the order of the row.The search begins with dimensions exhibiting comparatively high distancevalues. For a given interval [L_(i) ⁻, L_(i) ⁺], the lower δ_(i) themore likely the interval [B_(i) ⁻, B_(i) ⁺] will have the same size as[L_(i) ⁻, L_(i) ⁺]. The dimensions exhibiting high passing rates (i.e.low selectivity) are therefore concentrated in the high levels of thetree.

[0126] The second and third ordering rules can be jointly used forsorting the dimensions, the last rows being those for which ρ_(i)<M_(i)⁻ or ρ_(i)>M_(i) ⁺ and the first rows those for which M_(i)⁻≦ρ_(i)≦M_(i) ^(+.)

[0127] By applying the second and/or the third ordering rules, thesearch of the candidate points belonging to the intersection of theellipsoid with the constellation is significantly accelerated. Thispoint is illustrated in FIG. 6B showing a search tree according to thesphere decoding method of the invention. The application of the first orthe second ordering rule leads here to the exchange of dimension 2M withdimension 2M−1, that is to an exchange of the last two rows of thegenerator matrix H′.

[0128] After said exchange, the search starts with the determination ofthe new interval [B_(2M)⁻, B_(2M)⁺].

[0129] As can be seen from FIG. 4,[L_(2M)⁻, L_(2M)⁺] = [3, 5]  and  [M_(2M)⁻, M_(2M)⁺] = [0, 3],

[0130] hence [B_(2M)⁻, B_(2M)⁺] = {3}.

[0131] The component b_(2M) can take only one value and therefore onlyone branch is to be explored.

[0132] For b_(2M)=3, we have [L_(2M − 1)⁻, L_(2M − 1)⁺] = [2, 3]

[0133] and, therefore:[B_(2M − 1)⁻, B_(2M − 1)⁺] = [L_(2M − 1)⁻, L_(2M − 1)⁺]⋂[M_(2M − 1)⁻, M_(2M − 1)⁺] = [2, 3]⋂[0, 3] = [2, 3].

[0134] The two candidate points are found after having explored twonodes only (in comparison with 5 nodes in FIG. 6A).

[0135] According to a third variant, for each dimension, there iscalculated the passing rate exhibited by the root of the tree if thesearch were to start with said dimension (i.e. when the rowcorresponding to this dimension were the last of the generator matrix).This passing rate is denoted σ_(2M)^(i)

[0136] and can be expressed as: $\begin{matrix}{\sigma_{2M}^{i} = {\frac{| {B_{2M}^{+} - B_{2M}^{-}} |}{2 \cdot \sqrt{C/q_{{2M},{2M}}}} = \frac{| {{\min ( {\lceil {\sqrt{\frac{C}{q_{{2M},{2M}}}} + \rho_{2M}} \rceil,M_{2M}^{+}} )} - {\max ( {\lfloor {{- \sqrt{\frac{C}{q_{{2M},{2M}}}}} + \rho_{2M}} \rfloor,M_{2M}^{-}} )}} |}{2 \cdot \sqrt{C/q_{{2M},{2M}}}}}} & (30)\end{matrix}$

[0137] The term q_(2M,2M) appearing at the right-hand side of expression(30) is the coefficient appearing at the bottom right corner of thematrix Δ. It depends on i because the matrix Δ is obtained here byCholesky factorization of the generator matrix H′ after it has beensubjected to a row permutation to place the ith row at the bottom of thematrix.

[0138] The third variant uses a fourth ordering rule. According to thisrule, the rows of the generator matrix are ordered by decreasing valuesof σ_(2M) ^(i), namely the row are permuted so that the lower thepassing rate, the higher the order of the row. Hence, the search startswith the dimensions exhibiting comparatively low passing rates.

[0139] The third variant requiring 2M Cholesky factorizations, it isadvantageous whet the number of transmit antennas is rather small.

[0140] Whatever the ordering rule is used, each reordering of thedimensions can be expressed as a permutation π of the rows of thegenerator matrix H′. Once the closest point b of the productconstellation to the received point ρ has been found, the inversepermutation π⁻¹ is performed on the components of b and the estimatedtransmitted symbols are derived therefrom.

[0141] The second embodiment of the invention proceeds along the samelines as the first embodiment, although at the expense of a change ofdimensions (the block size Q replacing the number M of transmit antennasand the number of receive antennas being multiplied by the number L oftimeslots) and a change of generator matrix, H_(L) instead of H′ asexplained in connection with FIGS. 3A and 3B. The dimensions of thelattice 2q−1 and 2q of the lattice bear respectively the real part andthe imaginary part of the complex symbol x_(q) ^(u).

[0142] The product constellation Π is generated here by the modulationconstellations used for mapping the Q symbols x₁ ^(u), . . . , x_(Q)^(u) respectively. The ordering rules described above operate on therows of the matrix H′_(L), that is on the real and imaginary parts ofthe symbols x₁ ^(u), . . . , x_(Q) ^(u). Here again, once the closestpoint of the product constellation to the receive point is found aninverse permutation is effected on the components thereof and theestimated symbols {circumflex over (x)}_(q) ^(u), q=1, . . . , Q arederived therefrom.

[0143] As it will be appreciated by the man skilled in the art, theinvention can be used for estimating a plurality Q of symbolstransmitted by a plurality M of transmitted antennas and received by aplurality of N received antennas, provided the vector of the receivedsignals can be represented by a linear system of the type given in theexpressions (3) or (27). In particular, the method of the inventioncould also apply, even if the space-time dispersion differs from the oneindicated in (25), provided there exists a linear expression of the typegiven in (27).

1. Method for estimating a plurality of symbols transmitted by a firstplurality (M) of transmit antennas at a given emission time or aplurality of symbols subjected to a space-time dispersion coding priorto transmission by said first plurality (M) of transmit antennas over asecond plurality (L) of transmission times, the method using the signalsreceived by a third plurality (N) of receive antennas, each symbolbelonging to a modulation constellation, and comprising the steps of:forming a vector ({tilde over (y)}) representative of said receivedsignals at a reception time or at a second plurality (L) of consecutivereception times; searching the closest neighbour of said vector amongcandidate vectors (z) belonging to a lattice of points generated by aplurality of generating vectors (v₁, v₂, . . . , v_(κ)), said latticeincluding a subset of points (Π) representative of any combination ofsaid possible symbols, the search being limited to a volume around saidvector and being carried out by sequentially selecting a coordinate(b_(i)) of a candidate vector for each dimension of said vector in arepresentation associated with said generating vectors; characterised inthat the components of said vector are reordered according to anordering rule (π) prior to said search, the ordering rule being chosenso as to eliminate a higher proportion of candidate vectors for a firstdimension than for a subsequent dimension to be searched.
 2. Methodaccording to claim 1, characterised in that, for each dimension (i), afirst interval ([M_(i) ⁻, M_(i) ⁺]) is determined representing theprojection of said subset onto said dimension and that, for a pluralityof coordinates already selected if any, a second interval ([L_(i) ⁻,L_(i) ⁺]) is determined representing a portion of said volume along saiddimension, the selection of a coordinate for said dimension being thenlimited to a third interval ([B_(i) ⁻, B_(i) ⁺]) obtained as theintersection of said first and second intervals.
 3. Method according toclaim 2, characterised in that, for each dimension (i), it is calculateda value (ε_(i)) representative of a distance between the vectorcomponent (ρ_(i)) corresponding to said dimension and the middle of saidfirst interval, normalised by the size of the latter, the ordering rulebeing such that a first dimension to be searched is associated with ahigher normalised distance value than a value associated with asubsequent dimension to be searched.
 4. Method according to claim 2,characterised in that, for each dimension (i), it is checked whether thevector component (ρ_(i)) corresponding to said dimension falls withinsaid first interval and, in the negative, one determines the value ofthe distance (δ_(i)′) between said component and the upper bound of saidinterval, if the former lies above the latter, or between said componentand the lower bound of said first interval, if the latter lies above theformer, the ordering rule being such that a first dimension to besearched is associated with a higher value than a value associated witha subsequent dimension to be searched.
 5. Method according to claim 2,characterised in that, for each dimension (i), it is checked whether thevector component (ρ_(i)) corresponding to said dimension falls withinsaid first interval and, in the affirmative, the value of the distancebetween said component and the middle of said interval is determined,the ordering rule being such that a first dimension to be searched isassociated with a higher value than a value associated with a subsequentdimension to be searched.
 6. Method according to claims 4 and 5,characterised in that a first vector component corresponding to a firstdimension falling outside a said first interval representing theprojection of said subset onto the same first dimension and a secondvector component corresponding to a second dimension falling withinanother first interval representing the projection of said subset ontothe same second dimension, the ordering rule being such that the firstdimension is searched before said second dimension.
 7. Method accordingto claim 2, characterised in that, for each dimension (i) a fourthinterval is determined representing the projection of said volume ontosaid dimension, a fifth interval is obtained as the intersection of saidfirst and fourth intervals and a value (σ_(2M)^(i))

representative of the ratio of the length of the fifth interval to thelength of the fourth interval is calculated, the ordering rule beingsuch that a first dimension to be searched is associated with a lowervalue than a value associated with a subsequent dimension to besearched.
 8. Method according to any preceding claim, characterised inthat, once the closest neighbour has been found, its coordinates arereordered according to the inverse (π⁻¹) of said ordering rule and theestimates of the plurality of said symbols are derived from saidreordered coordinates.